package util.assembly;

import bo.Arqueo;
import bo.Entrega;
import bo.MovimientoCaja;
import bo.Venta;
import dto.ArqueoDTO;
import dto.EntregaDTO;
import dto.MovimientoCajaDTO;
import dto.VentaDTO;

public class MovimientoCajaAssembly {

	public static MovimientoCaja toBO(MovimientoCajaDTO movimientoCajaDTO) {
		
		MovimientoCaja movimientoCaja = new MovimientoCaja();
		movimientoCaja.setId(movimientoCajaDTO.getId());
		movimientoCaja.setFecha(movimientoCajaDTO.getFecha());
		movimientoCaja.setMonto(movimientoCajaDTO.getMonto());
		movimientoCaja.setOrigen(movimientoCajaDTO.getOrigen());
		
		EntregaDTO entregaDTO = movimientoCajaDTO.getEntregaDTO();
		if (entregaDTO != null) {
			movimientoCaja.setEntrega(EntregaAssembly.toBO(entregaDTO));
		}
		
		VentaDTO ventaDTO = movimientoCajaDTO.getVentaDTO();
		if (ventaDTO != null) {
			movimientoCaja.setVenta(VentaAssembly.toBO(ventaDTO));
		}
		
		ArqueoDTO arqueoDTO = movimientoCajaDTO.getArqueoDTO();
		if (arqueoDTO != null) {
			movimientoCaja.setArqueo(ArqueoAssembly.toBO(arqueoDTO));
		}
		return movimientoCaja;
	}

	
	public static MovimientoCajaDTO toDTO(MovimientoCaja movimientoCaja) {
		
		MovimientoCajaDTO movimientoCajaDTO = new MovimientoCajaDTO();
		movimientoCajaDTO.setId(movimientoCaja.getId());
		movimientoCajaDTO.setFecha(movimientoCaja.getFecha());
		movimientoCajaDTO.setMonto(movimientoCaja.getMonto());
		movimientoCajaDTO.setOrigen(movimientoCaja.getOrigen());
		
		Entrega entrega = movimientoCaja.getEntrega();
		if (entrega != null) {
			movimientoCajaDTO.setEntregaDTO(EntregaAssembly.toDTO(entrega));
		}
		
		Venta venta = movimientoCaja.getVenta();
		if (venta != null) {
			movimientoCajaDTO.setVentaDTO(VentaAssembly.toDTO(venta));
		}
		
		Arqueo arqueo = movimientoCaja.getArqueo();
		if (arqueo != null) {
			movimientoCajaDTO.setArqueoDTO(ArqueoAssembly.toDTO(arqueo));
		}
		
		return movimientoCajaDTO;
	}
	
	
}
